package common_models

import (
	"ginServer/modules/common/logger"
	"time"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
)

var (
	Db  *gorm.DB
	err error
)

func init() {
	dsn := "root:root@tcp(127.0.0.1:3306)/gin?charset=utf8mb4&parseTime=True&loc=Local"
	Db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		logger.Error(map[string]interface{}{
			"mysql connect error": err.Error(),
		})
	}
	if Db.Error != nil {
		logger.Error(map[string]interface{}{
			"data error": Db.Error,
		})
	}
	sqlDB, err := Db.DB()
	sqlDB.SetMaxIdleConns(10)  //空闲连接数
	sqlDB.SetMaxOpenConns(100) //最大连接数
	sqlDB.SetConnMaxLifetime(time.Hour)
	if err != nil {
		logger.Error(map[string]interface{}{
			"data error": err.Error(),
		})
		panic("连接数据库失败！")
	}
}
